<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>bbb试题</title>
</head>
<body>

<script>

    // var foo = 123;
    // function print() {
    //     //var this = Object.creat(print.Prototype)
    //     this.foo = 234;
    //     console.log(foo);//全局
    // }

    //print();//234
    //new print();//123


    //运行new test 和 test 的结果是什么

    // var a = 5;
    // function test() {
    //     //new test()产生的
    //     //var this = {//this上面没有a
    //     //      __proto__ : test.prototype
    //     // }
    //     a = 0;
    //     alert(a);
    //     alert(this.a);
    //     var a;
    //     alert(a);
    // }
    //test();// 0 5 0

    //test()
    // AO{
    //     a : undefined,
    //     this : window
    // }


    //new test();//0 undefined 0

    //new test()
    // AO{
    //     a : undefined,
    //     this : {}//this上面没有a，所以打印undefined
    // }




    //写出下列程序的结果

    // function print(){
    //     console.log(foo);
    //     var foo = 2;
    //     console.log(foo);
    //     console.log(hello);
    // }
    // print();//undefined 2 报错：hello is a not undefined


    // function print() {
    //     var test;
    //     test();
    //     function test() {
    //         console.log(1);
    //     }
    // }
    // print();//1


    // function print() {
    //     var x = 1;
    //     if(x == 1){
    //         console.log("One!");
    //     }
    //     if (x === 1){
    //         console.log("Tow!");
    //     }
    // }
    // print();//One! Tow!


    // function print() {
    //     var marty = {
    //         name : "marty",
    //         printName : function () {
    //             console.log(this.name);
    //         }
    //     };
    //     var test1 = { name : "test1"};
    //     var test2 = { name : "test2"};
    //     var test3 = { name : "test3"};
    //     test3.printName = marty.printName;
    //     var printName2 = marty.printName.bind({ name : 123 });
    //     marty.printName.call(test1);//test1
    //     marty.printName.call(test2);//test2
    //     marty.printName();//marty
    //     printName2();//123
    //     test3.printName();//test
    // }
    // print();




    // var bar = { a : "002"};
    // function print() {
    //     bar.a = "a";
    //     Object.prototype.b = "b";
    //     return function inner() {
    //         console.log(bar.a);
    //         console.log(bar.b);
    //     }
    // }
    // print()();//a b


</script>

</body>
</html>
